Interactive media systems, such as Internet web pages, interactive television, and the like, have become important modes of providing entertainment and information to consumers. It is therefore desirable to be able to present advertising and other types of messages through these media that present in an interactive and apparently seamless fashion. It is also desirable to be able to present synthetic interactive characters to users of these systems that appear to have a broad range of emotional states, and to be able to use such characters to present advertising and other types of information to a user.
Previous approaches to this have been poor in a number of ways.
Static and animated banner advertising does not deliver compelling interactive characters. This is one of the reasons why banner ads typically cannot give the customer an emotional pull.
Interstitial ads (a pop-up window with movie-like ad content) can deliver an emotional pull in the same way as a television ad, but the user is not interacting with the characters.
Prior art includes interactive games for the purpose of advertising that do not include interactive characters. An example of this is the games on www.candystand.com. Such systems typically contain background art or functional elements that are based on the product or other branded marks. However, they do not allow the consumer to interact with interactive characters, instead interacting with the mechanism of the game. For example, the consumer might play a simulated game of miniature golf on a course that has company logos on it.
Prior art includes interactive games or activities for the purpose of advertising that do use characters. An example of this is the Coca Cola Bears advertisement from togglethis.com. However, these characters have limited interactivity, and the characters are not products brought to life.
Web browsers enable a user to download content from a network and display it on a display system. Oftentimes, it is useful to download program code to execute on the user's display system. Prior art display systems include web browsers that allow users to download code for running on a virtual machine or interpreted in a controlled environment (e.g. Java code for running on a Java virtual machine), thus preventing downloaded code from gaining full access to system resources. Example browsers include Netscape Navigator and Internet Explorer.
Prior art delivery systems also allow native code, i.e., machine code (including relocatable code) for executing on a computer processor, to be launched by the user's web browser. These browsers currently use mechanisms such as plug-ins or Active X components to allow native code to run in the browser. However, these mechanisms require special permission to run the code to be granted prior to downloading the plug-in or component, resulting in a delay or confusing moment in the user's browsing experience.
In presenting interactive advertising to users, it is important that the display of such advertising occur as seamlessly, and without delay, as possible. One technique for avoided delays when a program module is downloaded to a user's computer is “code streaming.” “Code streaming” means downloading code in sequence, running the earlier downloaded code and linking the later code with the running code. Rudimentary support for streaming program code is provided in languages such as Java: for example, when a Java applet first instantiates a class, the code for that class can be downloaded automatically from a specified server on the Internet. However, for security reasons such Java classes are not compiled to native code, but rather to bytecode that must be verified and either interpreted or compiled after downloading. This overhead renders bytecode impractical for many applications.